home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- PUTPASS v 1.0 Copyright (C) 1987 by Danny Cornett and John Harrington
- Command
-
- DISTRIBUTION RIGHTS: allowed by authors without infringement of the copyright.
-
- 1. The work may be freely used, copied, and distributed etc. by the
- processor, as long as the only charge is for reasonable media and
- reproduction costs, etc.
-
- 2. Under no conditions may the work be used for commercial purposes or as
- an endeavor to reap financial gain, etc. without written permission
- from the authors.
-
- 3. Under no conditions may this work be distributed in modified form,
- without written permission from the authors.
-
- 4. The work shall not be released in any form to the PUBLIC DOMAIN.
-
- 5. The authors retain all ownership rights of this work, as well as
- distribution rights with the exception of those set out.
-
- 6. LIMITED WARRANTY: THE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY
- OF ANY KIND. THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF
- THE PROGRAM IS ASSUMED BY THE USER SHOULD THE PROGRAM PROVE DEFECTIVE.
- YOU (AND NOT THE AUTHORS) ASSUME THE ENTIRE COST OF ALL NECESSARY
- SERVICING, REGARDING THE USE OF, OR THE RESULTS OF THE USE OF, THE
- PROGRAM IN TERMS OF CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS,
- OR OTHERWISE; AND YOU RELY ON THE PROGRAM AND RESULTS SOLELY AT
- YOUR OWN RISK.
-
- NEITHER THE AUTHOR NOR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE
- CREATION, PRODUCTION, OR DELIVERY OF THIS PROGRAM SHALL BE LIABLE
- FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, OR INCIDENTAL DAMAGES
- ARISING OUT OF THE USE, THE RESULTS OF USE, OR INABILITY TO USE SUCH
- PRODUCT EVEN IF AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGES OR CLAIM.
-
- The authors are not aware of any known bugs in PUTPASS at this time,
- but Murphy's law says there are probably several. We suggest that
- in any case you keep a BACKUP of all your programs and data just in
- case disaster occurs. One of may favorite statements concerning BACKUP
- is:
-
- "The only difference between a professional PC user and an amateur
- is that the professional will BACKUP his system." - JR Harrington
-
- 7. THE USE OF THIS PROGRAM INDICATES ACCEPTANCE OF THESE TERMS
- AND CONDITION.
-
-
-
-
-
-
-
-
-
-
-
-
- Introduction to PUTPASS:
- -------------------------------------------------------------------------
- Danny Cornett did all the programming, John Harrington
- conceived the need for PUTPASS, assisted in requirements and
- assembling/editing this documentation. This program was designed
- for use on an IBM Personal Computer using DOS 3.0 and greater, but
- should work on DOS 2.x systems as well. However, it has not been
- tested on older DOS versions nor on IBM compatibles.
- -------------------------------------------------------------------------
-
- Purpose: PUTPASS is a program that adds code to an executable file
- so that a password must be supplied before the executable
- will be executed. At the present time, only .COM files
- are handled.
-
-
- Format: The use of putpass is very straight forward:
-
- putpass myfile.com
-
- If myfile does not already have a password, a password
- will be requested and verified (there is no echo to the
- screen). The password code will then be added, with a
- resulting output file named "myfile.cpm" which can then
- be renamed to "myfile.com" after dealing with the original
- version of "myfile.com" (BACKUP, rename or blow it away). Note
- that the extension is not checked, and the program is assumed to
- be a .COM file. If it isn't, it will be more or less destroyed
- (But remember that the original is not bothered, so no big deal.
- You will have an "executable ASCII" file, until the password
- code jumps to the ASCII text, if you add password code to your
- black book file).
-
- If myfile already has the password code added, the old
- password will be requested, and if successfully entered,
- the password will be CHANGED. Again, "myfile.cpm" will be
- the output with the original file still present.
-
- myfile.com must be less than 64k - (password code size) - 10 bytes,
- but that is no big deal for .COM files as they are limited to 64k,
- and will not likely be this large. (.EXE files are another story,
- but that's for another day). Presently, the password code size is
- 652 bytes, and the other 10 is approximate stack usage.
-
-
- -----------------------------------------------------------------------
- WARNING! If you forget your password, you will not be able to access
- your .COM program. Plan to place the original un-passworded
- program in a safe place (Backup or Archive) in case of an
- emergency or future needs.
- -----------------------------------------------------------------------
-
-
-
-
-
-
-
-
-
- Remarks: MAKING PUTPASS
-
- There are some non-automatic things that must be done to generate a new
- putpass executable module; further coding can automate some of these. Here
- is how to make the program.
-
- 1. Assemble the password.asm code, preserving the symbol table.
- 2. Run the makprogh program with the password.com file present
- in the same directory, and its name as a command line argument.
- This creates a file named progh.h which is needed by putpass.c.
- 3. From the symbol table, obtain the hexadecimal addresses of FIRST
- and PSTART; edit these values in the password.h file. (This could
- be "automated").
- 4. Compile putpass.c
-
-
- There are several programs and files involved in the overall scheme:
-
- 1. C source programs
-
- putpass.c the program that does the surgery
- makprogh.c the program that converts the assembly
- language password code to a C include file
- encrypt.c the encryption/decryption routines, actually
- done as an include in putpass.c - I was too
- lazy to do a separate compile/link, but this
- can be readily corrected
- password.h the include file with definitions for putpass
- and encrypt. This file may need editing if
- the assembly code is altered.
- progh.h the include file which is generated from the
- makprogh program. It is a structure of the
- password.com program generated from the
- assembly sources.
-
- 2. Assembly source programs; actually, several files to be put
- together to make the password.asm program
-
- bxor.asm
- callem.asm
- extend.asm
- merge.asm
- pwhead.asm
- pwtail.asm
- scramble.asm
- split.asm
-
- The order of the assembly modules is important as follows:
-
- pwhead.asm must be first
- extend.asm must be second
- callem.asm must be third
- compare.asm must be fourth
- pwtail.asm must be last
-
- The other files may be anywhere between callem.asm and pwtail.asm. "makit.bat"
- is included to concatenate the files, but the assumption is that the user has
- the program "cat". If not, makit.bat still shows the order I used for the
- files.
-
-
- The assembly files were assembled using CHASM, so some rework will be
- necessary if a "standard" assembler is used. These items come quickly to mind:
-
- 1) the CHASM offset function needs conversion to the OFFSET operator
- 2) arithmetic can be done by the assembler rather than doing
- equates for coupled parameters (the "super version" of CHASM
- can also handle this)
- 3) "movsb" == movs BYTE, etc.
-
-
- The Computer Innovations C86 compiler was used for the C sources using the
- big model (the whole program is brought into memory at once); there are
- some gotchas here as well - see the source code for known flaws.
-
- -----------------------------------------------------------------------
-
- If you wish to report bugs, make suggestions for improvements, or just
- relate your experience with PUTPASS, you may contact:
-
- John R. Harrington
- 1147 Willowood Dr.
- Milford, Ohio 45150
-
- MICROLINE, 513 243-0188 (Data) SYSOP
-
- CPCUG MIX, 301 480-0350 (Data) SYSOP Utility Conference
-
- Danny D. Cornett
- 2417 Monatana Ave. #B6
- Cincinnati, Ohio 45211
-
- PLEASE, DO NOT SEND ANY FORM OF MONEY, this program is provided as a
- thanks to those who have contributed fine software for PC users.
-
- Enjoy!
-
-
-